package com.tpay.client.gin;

import com.google.gwt.inject.client.AsyncProvider;
import com.google.gwt.inject.client.Ginjector;
import com.google.inject.Provider;
import com.google.web.bindery.event.shared.EventBus;
import com.gwtplatform.mvp.client.proxy.PlaceManager;
import com.tpay.client.presenter.AdminGatekeeper;
import com.tpay.client.presenter.ErrorPagePresenter;
import com.tpay.client.presenter.LoggedInGatekeeper;
import com.tpay.client.presenter.LoginPagePresenter;
import com.tpay.client.presenter.MainPagePresenter;

public interface PayGinjector extends Ginjector {
	EventBus getEventBus();
	PlaceManager getPlaceManager();
	
	LoggedInGatekeeper getLoggedInGateKeeper();
	AdminGatekeeper getAdminGatekeeper();
	
	Provider<LoginPagePresenter> getLoginPagePresenter();
	AsyncProvider<ErrorPagePresenter> getErrorPagePresenter();
	AsyncProvider<MainPagePresenter> getMainPagePresenter();
}
